package NGUYENVANDOAN.SERIZABLEFILES;

import java.util.ArrayList;
import java.util.List;

import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;

public class VIEWS_READ {
    public static void main(String[] args) {
        // 1. Khai báo và khởi tạo List<Object>
        List<Student> lisStudent = new ArrayList<Student>();

        // 3. Khai báo và khởi tạo controller
        CONTROLLERS objController = new CONTROLLERS();

        // 4. Ủy quyền thực thi Ghi files
        try {
            // a. Ghi dữ liệu ra files
            JFileChooser objFile = new JFileChooser();
            objFile.setCurrentDirectory(new java.io.File("."));
            objFile.setDialogTitle("Chọn file: ");
            objFile.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
            String[] EXTENSION = new String[] { "dat", "tmp" };
            FileNameExtensionFilter filter = new FileNameExtensionFilter("DAT files", EXTENSION);
            objFile.setFileFilter(filter);
            objFile.setMultiSelectionEnabled(false);

            int returnVal = objFile.showOpenDialog(null);
            String ParentPath = "";
            String FileName = "";
            if (returnVal == JFileChooser.APPROVE_OPTION) {
                ParentPath = objFile.getSelectedFile().getParent();
                FileName = objFile.getSelectedFile().getName();
            }
            // 5. Thực thi ghi dữ liệu xuống files
            lisStudent = objController.ReadObjects(ParentPath, FileName);

            // 6. Duyệt và hiển thị thông tin
            for (Student objStudent : lisStudent) {
                System.out.println("+ RollNo: " + objStudent.getRollNo());
                System.out.println("+ FullName: " + objStudent.getFullName());
                System.out.println("+ Age: " + objStudent.getAge());
                System.out.println("+ Phone: " + objStudent.getPhone());
            }
        } catch (Exception e) {
            System.out.println("Ghi files thất bại!!!");
            e.printStackTrace();
        }
    }
}
